#include <iostream>
using namespace std;
#include <fstream>

//打开方式  ： ios::out为写文件而打开文件  ios::in为读文件而打开文件  ios::app以追加方式写文件  ios::ate初始位置为文件末尾
//ios::trunc 若存在文件先删除，再创建   ios::brinary 二进制文件
int main() {
    //写文件

    // 1. 要有头文件
    //2.创建文件流对象
    ofstream ofs;
    //3.打开文件
    ofs.open("test.txt", ios::out);
    //4.写数据
    ofs << "hello world" << endl;
    ofs << "hello c++" << endl;
    //5.关闭文件
    ofs.close();


    //读文件
    ifstream ifs;
    ifs.open("test.txt" , ios :: in);
    if (!ifs.is_open()) {
        cout << "文件打开失败" << endl;
    }
    //方法一：
    // string buf;
    // while (getline(ifs , buf)){
    //     cout << buf << endl;
    // }

    //方法二：
    // char buf[1024] = {0};
    // while (ifs >> buf) {
    //     cout << buf << endl;
    // }

    //方法三：
    // char buf[1024] = {0};
    // while (ifs.getline(buf , sizeof(buf)));
    // return 0;

    // 方法四：
    char c;
    while ( (c = ifs.get()) != EOF) {
        cout << c << endl;
    }
}